package com.yunchang.springboot.models.mwsreportbean;

import java.io.Serializable;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import java.time.LocalDateTime;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 亚马逊api获取月储存费用表
 * </p>
 *
 * @author sjd
 * @since 2020-08-21
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("mws_monthly_storage_fees")
@ApiModel(value="MwsMonthlyStorageFeesDO对象", description="亚马逊api获取月储存费用表")
public class MwsMonthlyStorageFeesDO extends Model<MwsMonthlyStorageFeesDO> {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "自增id")
    private Long id;

    private String sellerId;

    private String area;

    @ApiModelProperty(value = "亚马逊商品编码 (ASIN) 是由 10 个字母或数字组成的唯一商品标识。ASIN 由亚马逊分配，您可以在商品详情页面找到该编码。")
    private String asin;

    @ApiModelProperty(value = "亚马逊物流库存单位 (SKU) 编码。")
    private String fnsku;

    @ApiModelProperty(value = "商品详情页面上对相应 ASIN 的描述。")
    private String productName;

    @ApiModelProperty(value = "储存相应 ASIN 的运营中心。")
    private String fulfillmentCenter;

    @ApiModelProperty(value = "运营中心所在的国家/地区。")
    private String countryCode;

    @ApiModelProperty(value = "单件商品最长边的尺寸。")
    private BigDecimal longestSide;

    @ApiModelProperty(value = "单件商品次长边的尺寸。库存仓储费按体积（等于“最长边 x 次长边 x 最短边”，以立方英尺为单位）收取。这些边通常对应商品的长、宽和高。")
    private BigDecimal medianSide;

    @ApiModelProperty(value = "单件商品最短边的尺寸。库存仓储费按体积（等于“最长边 x 次长边 x 最短边”，以立方英尺为单位）收取。这些边通常对应商品的长、宽和高。")
    private BigDecimal shortestSide;

    @ApiModelProperty(value = "商品最长边、次长边和最短边的计量单位，用于计算库存仓储费。")
    private String measurementUnits;

    @ApiModelProperty(value = "商品的重量，用于确定商品尺寸分段。此值可以是商品的单件重量，也可以是体积重量，具体取决于商品。")
    private BigDecimal weight;

    @ApiModelProperty(value = "商品重量的计量单位。")
    private String weightUnits;

    @ApiModelProperty(value = "库存仓储费按体积（等于“最长边 x 次长边 x 最短边”，以立方英尺为单位）收取。这些边通常对应商品的长、宽和高。")
    private BigDecimal itemVolume;

    @ApiModelProperty(value = "商品体积的计量单位。")
    private String volumeUnits;

    @ApiModelProperty(value = "按商品尺寸划分的分类，用于计算费用。")
    private String productSizeTier;

    @ApiModelProperty(value = "储存在运营中心的商品的日均数量。该值等于过去一个月的库存除以该月的天数。")
    private BigDecimal averageQuantityOnHand;

    @ApiModelProperty(value = "已请求从运营中心移除的商品的日均数量。")
    private String averageQuantityPendingRemoval;

    @ApiModelProperty(value = "该商品的现有库存平均数量减去待移除库存平均数量所得的值乘以商品体积。")
    private BigDecimal estimatedTotalItemVolume;

    @ApiModelProperty(value = "估算仓储费的年份和月份；格式为“年_月”。")
    private String monthOfCharge;

    @ApiModelProperty(value = "此 ASIN 应支付的月度库存仓储费金额。")
    private BigDecimal storageRate;

    @ApiModelProperty(value = "仓储费使用的货币单位。")
    private String currency;

    @ApiModelProperty(value = "每个 ASIN 的预计月度仓储费。")
    private BigDecimal estimatedMonthlyStorageFee;

    @ApiModelProperty(value = "危险品储存类型")
    private String dangerousGoodsStorageType;

    @ApiModelProperty(value = "类别")
    private String category;

    @ApiModelProperty(value = "有资格享受存货折扣")
    private String eligibleForInventoryDiscount;

    @ApiModelProperty(value = "有资格享受存货折扣")
    private String qualifiesForInventoryDiscount;

    @ApiModelProperty(value = "是否生成财务数据状态 1：未生成 2：已生成 默认：1")
    private Integer financeStatus;

    private String createTime;

    private String updateTime;


    @Override
    protected Serializable pkVal() {
        return null;
    }

}
